1. Field of the Invention
The present invention relates to a data processing system including an execution subject composed of at least one object and an execution environment including an object that provides the execution subject with services, and to a data processing method used in such a data processing system including an execution subject and an execution environment. The present invention also relates to a program-providing medium for providing the data processing system with a data-processing program.
2. Description of the Related Art
In general, an execution subject (such as an application program) runs in an execution environment (such as tan operating system (hereinafter referred to also as an xe2x80x9cOSxe2x80x9d)) in data processing systems. In other words, the execution subject runs using services provided by the execution environment (such as an operating system).
In this type e of data processing system, an operating system that provides an application program with services is normally not designed based on prediction of all application programs to be executed. Accordingly, the operating system cannot always provide services optimized using computational resources in accordance with the features of all the application programs.
This is described below as an example, using two types of application programs xe2x80x9cAppAxe2x80x9d and xe2x80x9cAppBxe2x80x9d running on an operating system for providing a message-passing mechanism as a service using computational resources.
Here, it is assumed that the application program AppA consists of program modules constituting a server for a database, and two clients. It is also assumed that the clients access the server with equal priority.
In addition, it is assumed that the application program AppB consists of a client for processing data from an Ethernet network, a client for processing data from a serial line, and a server for performing data processing in accordance with a request from each client.
In general, priority is established in the operation of a serial line and an Ethernet network. Even if messages are frequently exchanged on the serial line, when the Ethernet network transmits a control packet (e.g., a control packet requesting temporary termination of reading of data from the serial line in order that data may be successively read from the Ethernet network), it is requested that the control packet with the highest priority be processed. Unless the control packet having the highest priority is processed, a waiting time is required for processing the control packet that must be processed having the highest priority.
Among the above-described two application programs, the application program AppA does not require the checking of message priority since it has no messages having different degrees of priority. Accordingly, by preferably using a simple message passing mechanism that does not check message priority, the execution performance is improved.
Conversely, the application program AppB requires a mechanism for processing a control packet with the highest priority. Therefore, it is required that a message passing mechanism provided in the application program AppB include a mechanism for checking message priority.
Nevertheless, when the application program AppA is executed, a setting in which the checking of message priority is performed allows the application program AppA to perform the checking of message priority, which is unnecessary for the application program AppA, whereby the execution performance of application program AppA deteriorates. The use of the message passing mechanism that does not check message priority hinders the application program AppB from running in accordance with its requirements when the application program AppB is executed.
As described above, the optimal service, provided for an application program that is operated such that at least two program modules mutually communicate, differs depending on the characteristics of communication between the program modules. Accordingly, it is expected that, in the above- described example, an operating system for providing a message-passing service will be changed in accordance with the characteristics of communication between program modules.
The above-described problems are likely to occur when an application program is updated or a new application program is downloaded and used.
Recently, personal computers and network computers tend to have the function of downloading application programs as a standard specification. In these circumstances, it is highly possible that application programs that have characteristics beyond those considered at the time of system design will be downloaded and executed. Operating systems for use in this environment cannot be designed while predicting the characteristics of all application programs to be executed.
This also applies to embedded operating systems for use in consumer electronics. Most conventional consumer electronics have no support for removal media such as a CD-ROM or a MiniDisk and no network connecting function. They lack environments for updating application programs and for downloading new application programs. Accordingly, the functions of their operating systems must be optimized beforehand in accordance with application programs to be embedded.
However, recently, by providing consumer electronics with support for removal media or a network connecting function, environments for updating application programs and for downloading new application programs are in the process of being established. Accordingly, application programs beyond those predicted at the time of the system design can recently be executed by the consumer electronics. Thus, it is becoming difficult for embedded operating systems to provide all application programs with services that- efficiently use computational resources.
As described above, a conventional data processing system cannot always provide services optimized in accordance with the characteristics of each application program. In particular, the data processing system cannot provide services adapted to application programs updated or downloaded after the design of the system. Accordingly, the conventional data processing system has a problem to enable provision of preferable services to application programs which are updated or downloaded after the design of the system.
Meanwhile, it is possible that preferable services be provided to some types of application programs by allowing each of the application programs to select from among a plurality of predictable system-service functions which are prepared beforehand. However, it is impossible to satisfy functions in all types of application programs. Also, embedded operating systems have a limited program size since the amount of hardware memory is in general limited. Accordingly, it is not preferable to prepare a plurality of predictable system-service functions, particularly in the embedded operating systems.
The present invention is made in view of the above-described conventional circumstances. It is an object of the present invention to provide a data processing system and a data processing method in which an execution environment adapted for an execution subject is provided without preparing a plurality of predictable system-service functions, and to provide a program-providing medium for providing a data-providing program realizing the functions.
To this end, according to an aspect of the present invention, the foregoing object is achieved through provision of a data processing system including: at least one execution subject including at least one object; at least one execution environment including at least one object for providing the execution subject with services; and object-replacing unit which, based on a request from the object constituting the execution subject or the object constituting the execution environment, deletes the object constituting the execution environment and captures a new object from an external system, thereby performing processing for replacement of the object constituting the execution environment.
According to another aspect of the present invention, the foregoing object is achieved through provision of a data processing method for a data processing system including at least one execution subject including at least one object, and at least one execution environment including at least one object for providing the execution subject with services. The data processing method performs, based on a request from one of the object constituting the execution object and the object constituting the execution environment, a deleting step for deleting the object constituting the execution environment and a capturing step for capturing a new object from an external system, whereby the object constituting the execution environment is replaced.
According to a further aspect of the present invention, the foregoing object is achieved through provision of a program-providing medium for providing a data processing program for use in a data processing system including at least one execution subject including at least one object, and at least one execution environment including at least one object for providing the execution subject with services. The data processing program executes processing which, based on a request from the object constituting the execution subject or the object constituting the execution environment, deletes the object constituting the execution environment and captures a new object from an external system, thereby performing processing for replacement of the object constituting the execution environment.
In the present invention, the external system is a server system connected to the data processing system by a transmission link, and includes a storage medium storing the object to be captured.
According to a data processing system of the present invention, by using an object-replacing unit to replace an object constituting an execution environment, the execution environment can be changed in accordance with various types of execution subjects.
According to a data processing method of the present invention, a deleting step deletes an object constituting an execution environment, and a capturing step captures a new object from an external system. As a result, the object constituting the execution environment is replaced. With the replacement of the object constituting the execution environment, the execution environment can be changed in accordance with various types of execution subjects.